package cc.mrbird.system.service;

import cc.mrbird.common.domain.QueryRequest;
import cc.mrbird.common.service.IService;
import cc.mrbird.system.domain.ProjectEntry;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;
import java.util.List;
@CacheConfig(cacheNames = "ProjectEntryService")
public interface ProjectEntryService extends IService<ProjectEntry> {

    @Cacheable(key = "#p0.toString() + (#p1 != null ? #p1.toString() : '')")
    List<ProjectEntry> findAllProjectEntry(ProjectEntry projectEntry, QueryRequest request);

    ProjectEntry getProjectEntry(ProjectEntry projectEntry);

    void addProjectEntry(ProjectEntry projectEntry);

    void updateProjectEntry(ProjectEntry projectEntry);

    void deleteProjectEntry(String projectIds);

    List<ProjectEntry> importAllProjectEntry(MultipartFile importFactory) throws Exception;
}
